home *** CD-ROM | disk | FTP | other *** search
- *GRAFICOS.PRG
-
- erase
-
- chkevent()
-
- @ 24,0
-
- declare ttle[10]
- declare nums[10]
- declare num2[10]
- declare lbl[2]
- declare pies[5]
- declare pilbl[5]
-
-
- * Este fragmento de c≤digo crea ciertos datos de prueba para
- * los tres tipos de grßficos. Normalmente, utilizarφa el mandato
- * FILL ARRAY para extraer datos de una base de datos real.
- *
- * Crear datos de prueba para un grßfico de sectores
-
- store 1 to count
- do while count <= 5
- pies[count] = count
- pilbl[count] = 'Sector '+str(count,1)
- inc count
- enddo
-
- lbl[1] = 'Real'
- lbl[2] = 'Previsto'
- store 1 to count
- mdate = {01/15/89}
-
- * Crear datos de prueba para grßficos de barras y de lφneas.
- * Los grßficos de barras y de lφneas tendrßn diez elementos.
-
- do while count <= 10
- * N·meros de prueba para grßficos de barras y de lφneas
- nums[count] = count * 11.25
- * N·meros de prueba para grßficos de lφneas
- num2[count] = nums[count] + 50
- * Tφtulos para grßficos de barras y de lφneas
- ttle[count] = substr(cmonth(mdate),1,3)
- inc count
- mdate = mdate + 30
- enddo
-
- * Al seleccionar un marco de imagen, se crea un rectßngulo alrededor
- * del grßfico dibujado. Si no hay activo ning·n mandato de marco,
- * se selecciona toda la ventana.
- set picture frame to 5,10,21,70
-
- *Este es un grßfico de barras
- *La sintaxis es
- *draw bargraph [HORIZONTAL <expC>] [VERTICAL <expC>] matrizN, matrizC
-
- draw bargraph horizontal 'Meses' vertical "Ventas" nums,ttle
- @ 0,0
- set message to 'Pulse una tecla o haga clic con el rat≤n para continuar'
- wait ' '
-
- erase
- @ 22,0
-
- * Este es un grßfico de sectores.
- * La sintaxis es
- * draw piechart [HORIZONTAL <expC>] [VERTICAL <expC>] matrizN, matrizC
-
- draw piechart horizontal 'Meses' pies, pilbl
- set message to 'Pulse una tecla o haga clic con el rat≤n para continuar'
- wait ' '
- erase
- @ 22,0
-
- * Este es un grßfico de lφneas
- * La sintaxis de los grßficos de lφneas es
- * draw graph [HORIZONTAL <expC>] [VERTICAL <expC>] matrizN[,matrizN2...matrizN10]
- * , matrizTitulo, matrizEtiq
- * Debe haber un elemento en la matriz etiquetas por cada elemento de matrizN a
- * matrizN10. Cada elemento de matrizN1 a matrizN10 es una lφnea de puntos de datos.
- * En este caso tenemos dos: nums y num2
-
- set picture frame to 5,5,21,75
- draw graph horizontal 'Meses' vertical "Ventas" nums,num2,ttle,lbl
-
- wait 'A punto de dibujar en la impresora. Cierre el programa para no imprimir.'
-
-
- * Establece un marco para toda la ventana
- set picture frame to
-
-
- set device to printer
- set printer to graphics
-
- * Recuerde que el mandato set picture frame se introduce DESPUES de set printer to graphics
- * Un marco que se haya creado para la pantalla no puede utilizarse para la impresora.
-
- set picture frame to 5,10,21,70
-
- draw bargraph horizontal 'Meses' vertical "Ventas" nums,ttle
- eject |Necesario para que el spooler divida una pßgina
-
- draw piechart horizontal 'Meses' pies, pilbl
- eject
-
- draw graph horizontal 'Meses' vertical "Ventas" nums,num2,ttle,lbl
- eject
-
- set device to screen |No deje el dispositivo establecido como impresora
- set printer to 1 |y desactive el spooler
-
- * Redibujar el marco en la pantalla completa
- set picture frame to
-
-
-